import pygame

class uniAnimation:
    #constructor fcol ilosc kolumn na obrazku animacji
    #            frow ilosc rzedow na obrazku animacji
    def __init__(self,fcol=6,frow=8):
       self.fr_column=fcol
       self.fr_row=frow
       #suma klatek animacji wsumie na obrazku 6x8
       self.framesnr=self.fr_column*self.fr_row
       
    #pobieranie fragmentu obrazka zawierajaca framenr-ta (liczone od 1) klatke animacji
    #image-caly obrazek zawierajacy sekwencje animacji
    #rozmiar klatki zostanie obliczony
    def getframeimg(self,image,framenr):
        if framenr<=self.framesnr:
            #px,py pozycja klatki poczynajac od 0
            py=int((framenr-1)/self.fr_column)
            px=int((framenr-1)%self.fr_column)
            #obliczanie ilosc kafelkow w pionie i poziomie na obrazku image
            fsx=image.get_size()[0]/self.fr_column
            fsy=image.get_size()[1]/self.fr_row
            #tworzenie kafelka
            img=pygame.Surface((fsx,fsy))
            #kopiowanie pixeli z image to kafelka img
            img.blit(image,(0,0,fsx,fsy),(px*fsx,py*fsy,fsx,fsy))
            return img
